Skip to main content

3-24 70. 爬楼梯

Date:2022-03-24 12:37:46

标签:

  • 动态规划

题目:70. 爬楼梯 ( 简单😄 )

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 12 个台阶。你有多少种不同的方法可以爬到楼顶呢?

示例

示例1:

输入:n = 2
输出:2
解释:有两种方法可以爬到楼顶。
1. 1+ 1
2. 2

示例2:

输入:n = 3
输出:3
解释:有三种方法可以爬到楼顶。
1. 1+ 1+ 1
2. 1+ 2
3. 2+ 1

分析

  • 动态规划

    斐波那契数列把数字翻译成字符串 等题目类似

    f(x)表示从 [0, x)(不能取x,因为从0开始)的所有种类

    f(x) = f(x - 1) + f(x - 2)

    所以答案为f(n - 1)

题解

动态规划

function climbStairs(n: number): number {
const dp: number[] = []

dp[0] = 1
dp[1] = 2

for (let i = 2; i < n; ++i) {
dp[i] = dp[i - 1] + dp[i - 2]
}

return dp[n - 1]
}

使用

function main() {
const n = 2

console.log('[]:', climbStairs(n))
}

main()

export {}